#include<iostream>
#include<queue>
using std::cin;
using std::cout;
using std::endl;
using std::deque;

template<class T, class Con = deque<T>>
class queue
{
public:
    queue()
    {

    }
    void push(const T& x)
    {
        _c.push_back(x);
    }
    void pop()
    {
        _c.pop_front();
    }
    T& back()
    {
        return _c.back();
    }
    const T& back()const
    {
        return _c.back();
    }
    T& front()
    {
        return _c.front();
    }
    const T& front()const
    {
        return _c.front();
    }
    size_t size()const
    {
        return _c.size();
    }
    bool empty()const
    {
        return _c.empty();
    }
private:
    Con _c;
};

int main()
{
    queue<int> ret;
    for (int i = 0; i < 10; i++)
    {
        ret.push(i);
    }
    
    ret.pop();
    ret.pop();
    cout << ret.empty()
        << ret.back()
        << ret.front()
        << ret.size()
        << endl;
 
}